import { MiddlewareConsumer, Module, NestModule } from '@nestjs/common';
import { UserService } from './user.service';
import { UserController } from './user.controller';

import { LoggerMiddleware } from '../middleware/logger/logger.middleware'; //局部中间件
@Module({
  controllers: [UserController],
  providers: [UserService],
})
export class UserModule implements NestModule {
  //实现 NestModule的configure
  configure(consumer: MiddlewareConsumer) {
    // consumer.apply(LoggerMiddleware).forRoutes('user');
    // consumer.apply(Logger).forRoutes({path:'user',method:RequestMethod.GET}) //方法
    //在 NestJS 中，可以通过 consumer.apply() 方法来应用中间件，并使用 forRoutes() 方法指定应用中间件的路由。
    consumer.apply(LoggerMiddleware).forRoutes(UserController); //所有的user请求| *
  }
}
